package model

import (
	"fmt"
)

// GenConf 生成配置文件内容字符串。
// 该函数根据 Info 结构体的字段值生成一个配置文件格式的字符串。
// 配置文件包含三个部分：[service]、[paths] 和 [logging]。
//
// 参数：
//
//	i: Info 结构体实例，包含生成配置文件所需的所有字段。
//
// 返回值：
//
//	string: 生成的配置文件内容字符串。
func (i Info) GenConf() string {
	lang := "en"
	if i.China {
		lang = "zh"
	}
	txt := fmt.Sprintf(`[service]
# 设置SSH服务的监听端口,这是用于检测服务是否正常的条件,务必准确
listen_port = %d
# 当前使用的SSH服务是否属于系统发行版自带的安装包安装的,如果是自行编译安装的请设置为false
init=%t
# 设置检测间隔时间(秒)
interval = %d

[paths]
# 路径配置（所有路径需使用绝对路径）
# SSH配置文件源路径(不要填软链接的路径）
source_config = "%s"
# 备份目录（不存在则自动创建）
backup_dir = "%s"

[logging]
# 日志配置
# 调试模式（产生详细日志）
debug_mode = %t
# 本地化语言（en/zh）
localization = "%s"
`, i.Port, i.Init, i.Interval, i.Source, i.Target, i.Debug, lang)
	return txt
}
